1. Field of the Invention
Embodiments of this invention are related generally to synchronization between network entities.
2. Background Art
Timing and frequency synchronization among network entities that communicate with each other is an important issue in network performance. The accuracy of the synchronization between network nodes affects the performance of systems attached to the network and also the overall performance of the network. The IEEE 1588 protocol, referred to as the Precision Time Protocol (PTP) is a technique for providing robust cost-effective time synchronization for the distributed systems. IEEE 1588 is designed for substantially higher accuracy levels (e.g. on the order of submicroseconds) than the older network synchronization protocol known as the Network Time Protocol (NTP).
IEEE 1588 is based on packet exchanges between network entities (network nodes) defined as masters and as slaves (also referred to as master nodes and slave nodes, respectively). Each slave synchronizes its clock (“slave clock” or SC) to the clock of a master. To enhance fault tolerance, an election process may determine one among a plurality of masters to provide the accurate clock at any particular instant to the slaves. The master that is selected to provide the accurate clock is referred to as a grandmaster or GM.
IEEE 1588 implementations require that every participating network interface (e.g. port) takes very accurate timestamps of selected packet ingress and/or egress, and manages precisely synchronized time. By taking timestamps at the edge of the physical layer for a network interface very close to the network medium, the time difference between when a packet is transmitted from a first node to that packet being received at second node can be minimized.
For large networks however, particularly when packets traverses multiple hops from a source to a destination, the desired high accuracy may not be achieved without considering the packet queuing delays at intermediate nodes. Data traffic may cause long delays (on the order of milliseconds) of IEEE 1588 packets because the same network resources are shared by data traffic and IEEE 1588 packets. The latest version of the IEEE 1588 defines a transparent clock (TC) associated with respective intermediate nodes between a master and a slave. A network element that operates as a TC measures the residence time (e.g. queuing delay) that the IEEE 1588 packets experience at the network element itself, and may record that residence time in respective packets. Each IEEE 1588 slave then eliminates the synchronization error that results from residence time by using the residence time information found in the packets.
However, implementations of IEEE 1588 that are in common use at present have inefficiencies in notifying the network entities of the timestamps. Such inefficiencies can result in the IEEE 1588 implementation imposing a high burden upon processing resources at network nodes. Therefore, it is desired that more efficient techniques for network time synchronization are available.